package com.crm.dao.mapper.customMapper.verifyPhoneCustomMapper;

import com.crm.model.qo.verifyPhone.VerifyPhoneQO;
import com.crm.model.qo.verifyPhone.VerifyPhoneReportQO;
import com.crm.model.vo.verifyPhone.VerifyPhoneReportVO;
import com.crm.model.vo.verifyPhone.VerifyPhoneVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @Author renshaorong
 * @Date 2021/07/08 8:49 上午
 */
public interface VerifyPhoneCustomMapper {

    /**
     * 获取列表
     * @param verifyPhoneQO
     * @param toString
     * @return
     */
    List<VerifyPhoneVO> selectAllVerifyPhoneList(VerifyPhoneQO verifyPhoneQO, String toString);


    /**
     * @Description: 电话核实报表
     * @Param: [reportQO]
     * @Return: java.util.List<com.crm.model.vo.verifyPhone.VerifyPhoneReportVO>
     * @Author: lixq-f
     * @Date: 2021/7/13
     **/
    List<VerifyPhoneReportVO> getLe30VerifyPhoneReport(@Param("reportQO")VerifyPhoneReportQO reportQO);


    /**
     * @Description: 电话核实报表
     * @Param: [reportQO]
     * @Return: java.util.List<com.crm.model.vo.verifyPhone.VerifyPhoneReportVO>
     * @Author renshaorong
     * @Date 2021/8/3
     **/
    List<VerifyPhoneReportVO> getGe30Lt60VerifyPhoneReport(@Param("reportQO")VerifyPhoneReportQO reportQO);

    /**
     * @Description: 电话核实报表
     * @Param: [reportQO]
     * @Return: java.util.List<com.crm.model.vo.verifyPhone.VerifyPhoneReportVO>
     * @Author: lixq-f
     * @Date: 2021/7/13
     **/
    List<VerifyPhoneReportVO> getGe60Lt90VerifyPhoneReport(@Param("reportQO")VerifyPhoneReportQO reportQO);


    /**
     * @Description: 电话核实报表
     * @Param: [reportQO]
     * @Return: java.util.List<com.crm.model.vo.verifyPhone.VerifyPhoneReportVO>
     * @Author: lixq-f
     * @Date: 2021/7/13
     **/
    List<VerifyPhoneReportVO> getGe90VerifyPhoneReport(@Param("reportQO")VerifyPhoneReportQO reportQO);

    /**
     * 核实电话 管理端表格数据，返回分公司下个人 <30 <60 <90 >90 总时长数据
     * @param dateUnit
     * @param companyId
     * @return
     */
    List<VerifyPhoneReportVO> getDurationByCompanyId(@Param("dateUnit")Integer dateUnit,@Param("companyId")String companyId);

    /**
     * 核实电话 超管端表格数据，返回各分公司下 <30 <60 <90 >90 总时长数据 平均数
     * @param dateUnit
     * @return
     */
    List<Map<String,Object>> getAllDurationGroupByCompanyId(@Param("dateUnit")Integer dateUnit);
}
